🎖️GitЯра🎖️
androidApp/build.gradle.kts 988db081b289cbc23d9bceef8e7d85ab46d0e6a4 (988db081) Text, 12.90 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72import T7ee787com.android.build.api.dsl.ApplicationExtension
Tff7b72import T7ee787org.meshtastic.buildlogic.configProperties
Tff7b72import T7ee787org.meshtastic.buildlogic.resolveVersionInfo
Tff7b72import T7ee787java.util.Properties
Tff7b72val Te6edf3versionInfo Tff7b72= Te6edf3resolveVersionInfoTb4b4b4(Tb4b4b4)
Te6edf3plugins Tb4b4b4{
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3applicationTb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3applicationTb4b4b4.Te6edf3flavorsTb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3applicationTb4b4b4.Te6edf3composeTb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3kotlinxTb4b4b4.Te6edf3serializationTb4b4b4)
Te6edf3idTb4b4b4(Ta5d6ff"Ta5d6ffmeshtastic.koinTa5d6ff"Tb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3kotlinTb4b4b4.Te6edf3parcelizeTb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3secretsTb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3baselineprofileTb4b4b4)
Te6edf3idTb4b4b4(Ta5d6ff"Ta5d6ffmeshtastic.aboutlibrariesTa5d6ff"Tb4b4b4)
Te6edf3idTb4b4b4(Ta5d6ff"Ta5d6ffdev.mokkeryTa5d6ff"Tb4b4b4)
Te6edf3aliasTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3pluginsTb4b4b4.Te6edf3devtoolsTb4b4b4.Te6edf3kspTb4b4b4)
Tb4b4b4}
Tff7b72val Te6edf3keystorePropertiesFile Tff7b72= Te6edf3rootProjectTb4b4b4.Te6edf3fileTb4b4b4(Ta5d6ff"Ta5d6ffkeystore.propertiesTa5d6ff"Tb4b4b4)
Tff7b72val Te6edf3keystoreProperties Tff7b72= Te6edf3PropertiesTb4b4b4(Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3keystorePropertiesFileTb4b4b4.Te6edf3existsTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3keystorePropertiesFileTb4b4b4.Te6edf3inputStreamTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3use Tb4b4b4{ Te6edf3keystorePropertiesTb4b4b4.Te6edf3loadTb4b4b4(Tffa657itTb4b4b4) Tb4b4b4}
Tb4b4b4}
Te6edf3configureTff7b72<Te6edf3ApplicationExtensionTff7b72> Tb4b4b4{
Te6edf3namespace Tff7b72= Ta5d6ff"Ta5d6fforg.meshtastic.appTa5d6ff"
Te6edf3signingConfigs Tb4b4b4{
Te6edf3createTb4b4b4(Ta5d6ff"Ta5d6ffreleaseTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3keyAlias Tff7b72= Te6edf3keystorePropertiesTff7b72[Ta5d6ff"Ta5d6ffkeyAliasTa5d6ff"Tff7b72] Tff7b72as Tffa657String?
Te6edf3keyPassword Tff7b72= Te6edf3keystorePropertiesTff7b72[Ta5d6ff"Ta5d6ffkeyPasswordTa5d6ff"Tff7b72] Tff7b72as Tffa657String?
Te6edf3storeFile Tff7b72= Te6edf3keystorePropertiesTff7b72[Ta5d6ff"Ta5d6ffstoreFileTa5d6ff"Tff7b72]Tff7b72?.Te6edf3let Tb4b4b4{ Te6edf3fileTb4b4b4(Tffa657itTb4b4b4) Tb4b4b4}
Te6edf3storePassword Tff7b72= Te6edf3keystorePropertiesTff7b72[Ta5d6ff"Ta5d6ffstorePasswordTa5d6ff"Tff7b72] Tff7b72as Tffa657String?
Tb4b4b4}
Tb4b4b4}
Te6edf3defaultConfig Tb4b4b4{
Te6edf3applicationId Tff7b72= Te6edf3configPropertiesTb4b4b4.Te6edf3getPropertyTb4b4b4(Ta5d6ff"Ta5d6ffAPPLICATION_IDTa5d6ff"Tb4b4b4)
Te6edf3versionCode Tff7b72= Te6edf3versionInfoTb4b4b4.Te6edf3versionCode
Te6edf3versionName Tff7b72= Te6edf3versionInfoTb4b4b4.Te6edf3versionName
Te6edf3buildConfigFieldTb4b4b4(Ta5d6ff"Ta5d6ffStringTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffMIN_FW_VERSIONTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff\"Tffd700${Te6edf3versionInfoTb4b4b4.Te6edf3minFwVersionTffd700}Ta5d6ff\"Ta5d6ff"Tb4b4b4)
Te6edf3buildConfigFieldTb4b4b4(Ta5d6ff"Ta5d6ffStringTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffABS_MIN_FW_VERSIONTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff\"Tffd700${Te6edf3versionInfoTb4b4b4.Te6edf3absMinFwVersionTffd700}Ta5d6ff\"Ta5d6ff"Tb4b4b4)
T8b949e// We have to list all translated languages here,
T8b949e// because some of our libs have bogus languages that google play
T8b949e// doesn't like and we need to strip them (gr)
Tff7b72val Te6edf3ci Tff7b72= Te6edf3providersTb4b4b4.Te6edf3gradlePropertyTb4b4b4(Ta5d6ff"Ta5d6ffciTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3map Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3toBooleanTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4.Te6edf3getOrElseTb4b4b4(Tff7b72falseTb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3ciTb4b4b4) Tb4b4b4{
Te6edf3loggerTb4b4b4.Te6edf3lifecycleTb4b4b4(Ta5d6ff"Ta5d6ffCI build detected - limiting locale filters for faster packagingTa5d6ff"Tb4b4b4)
Te6edf3androidResourcesTb4b4b4.Te6edf3localeFiltersTb4b4b4.Te6edf3addAllTb4b4b4(Te6edf3listOfTb4b4b4(Ta5d6ff"Ta5d6ffenTa5d6ff"Tb4b4b4)Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3androidResourcesTb4b4b4.Te6edf3localeFiltersTb4b4b4.Te6edf3addAllTb4b4b4(
Te6edf3listOfTb4b4b4(
Ta5d6ff"Ta5d6ffenTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffarTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffbgTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcaTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcsTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdeTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffelTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffesTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffetTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fffiTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fffrTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffgaTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffglTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhrTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhtTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhuTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffisTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffitTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffiwTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffjaTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffkoTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffltTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffnlTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffnoTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffplTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffptTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffpt-rBRTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffroTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffruTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffskTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffslTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffsqTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffsrTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffsrpTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffsvTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fftrTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffukTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffzh-rCNTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffzh-rTWTa5d6ff"Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3ndk Tb4b4b4{ Te6edf3abiFilters Tff7b72+Tff7b72= Te6edf3listOfTb4b4b4(Ta5d6ff"Ta5d6ffarmeabi-v7aTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffarm64-v8aTa5d6ff"Tb4b4b4) Tb4b4b4}
Te6edf3testInstrumentationRunner Tff7b72= Ta5d6ff"Ta5d6ffandroidx.test.runner.AndroidJUnitRunnerTa5d6ff"
Tb4b4b4}
T8b949e// Disable ABI splits for bundle builds or when explicitly requested via Gradle property.
T8b949e// Usage: ./gradlew :androidApp:bundleGoogleRelease -Pmeshtastic.disableAbiSplits=true
Tff7b72val Te6edf3disableSplits Tff7b72= Te6edf3providersTb4b4b4.Te6edf3gradlePropertyTb4b4b4(Ta5d6ff"Ta5d6ffmeshtastic.disableAbiSplitsTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3map Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3toBooleanTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4.Te6edf3getOrElseTb4b4b4(Tff7b72falseTb4b4b4)
T8b949e// Enable ABI splits to generate smaller APKs per architecture for F-Droid/IzzyOnDroid
Te6edf3splits Tb4b4b4{
Te6edf3abi Tb4b4b4{
Te6edf3isEnable Tff7b72= Tff7b72!Te6edf3disableSplits
Te6edf3resetTb4b4b4(Tb4b4b4)
Te6edf3includeTb4b4b4(Ta5d6ff"Ta5d6ffarmeabi-v7aTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffarm64-v8aTa5d6ff"Tb4b4b4)
Te6edf3isUniversalApk Tff7b72= Tff7b72true
Tb4b4b4}
Tb4b4b4}
Te6edf3dependenciesInfo Tb4b4b4{
T8b949e// Disables dependency metadata when building APKs (for IzzyOnDroid/F-Droid)
Te6edf3includeInApk Tff7b72= Tff7b72false
T8b949e// Disables dependency metadata when building Android App Bundles (for Google Play)
Te6edf3includeInBundle Tff7b72= Tff7b72false
Tb4b4b4}
Te6edf3packaging Tb4b4b4{
Te6edf3jniLibs Tb4b4b4{
T8b949e// Keep debug symbols in native libraries so reproducible builds don't depend
T8b949e// on the exact NDK version used for stripping. This avoids RB failures when
T8b949e// IzzyOnDroid/F-Droid rebuilds use a different NDK than our CI.
T8b949e// See: https://github.com/meshtastic/Meshtastic-Android/issues/3231
Te6edf3keepDebugSymbolsTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff"Ta5d6ff**/*.soTa5d6ff"Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
T8b949e// Configure existing product flavors (defined by convention plugin)
T8b949e// with their dynamic version names.
Te6edf3productFlavors Tb4b4b4{
Te6edf3configureEach Tb4b4b4{
Te6edf3versionName Tff7b72= Ta5d6ff"Tffd700${Te6edf3defaultConfigTb4b4b4.Te6edf3versionNameTffd700}Ta5d6ff (Tffd700${Te6edf3defaultConfigTb4b4b4.Te6edf3versionCodeTffd700}Ta5d6ff) Tffd700$Te6edf3nameTa5d6ff"
Tff7b72if Tb4b4b4(Te6edf3name Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffgoogleTa5d6ff"Tb4b4b4) Tb4b4b4{
Te6edf3manifestPlaceholdersTff7b72[Ta5d6ff"Ta5d6ffMAPS_API_KEYTa5d6ff"Tff7b72] Tff7b72= Ta5d6ff"Ta5d6ffdummyTa5d6ff"
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3buildTypes Tb4b4b4{
Te6edf3release Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3keystorePropertiesTff7b72[Ta5d6ff"Ta5d6ffstoreFileTa5d6ff"Tff7b72] Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3signingConfig Tff7b72= Te6edf3signingConfigsTb4b4b4.Te6edf3namedTb4b4b4(Ta5d6ff"Ta5d6ffreleaseTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3signingConfig Tff7b72= Te6edf3signingConfigsTb4b4b4.Te6edf3getByNameTb4b4b4(Ta5d6ff"Ta5d6ffdebugTa5d6ff"Tb4b4b4)
Tb4b4b4}
Te6edf3isDebuggable Tff7b72= Tff7b72false
Tb4b4b4}
Tb4b4b4}
Te6edf3bundle Tb4b4b4{ Te6edf3language Tb4b4b4{ Te6edf3enableSplit Tff7b72= Tff7b72false Tb4b4b4} Tb4b4b4}
Te6edf3testOptions Tb4b4b4{ Te6edf3unitTests Tb4b4b4{ Te6edf3isIncludeAndroidResources Tff7b72= Tff7b72true Tb4b4b4} Tb4b4b4}
Tb4b4b4}
Te6edf3secrets Tb4b4b4{
Te6edf3defaultPropertiesFileName Tff7b72= Ta5d6ff"Ta5d6ffsecrets.defaults.propertiesTa5d6ff"
Te6edf3propertiesFileName Tff7b72= Ta5d6ff"Ta5d6ffsecrets.propertiesTa5d6ff"
Tb4b4b4}
Te6edf3ksp Tb4b4b4{ Te6edf3argTb4b4b4(Ta5d6ff"Ta5d6ffappfunctions:aggregateAppFunctionsTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4) Tb4b4b4}
Te6edf3androidComponents Tb4b4b4{
Te6edf3onVariantsTb4b4b4(Te6edf3selectorTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3withBuildTypeTb4b4b4(Ta5d6ff"Ta5d6ffdebugTa5d6ff"Tb4b4b4)Tb4b4b4) Tb4b4b4{ Te6edf3variant Tff7b72-Tff7b72>
Te6edf3variantTb4b4b4.Te6edf3flavorNameTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3flavor Tff7b72-Tff7b72> Te6edf3variantTb4b4b4.Te6edf3applicationIdTb4b4b4.Te6edf3setTb4b4b4(Ta5d6ff"Ta5d6ffcom.geeksville.mesh.Tffd700$Te6edf3flavorTa5d6ff.debugTa5d6ff"Tb4b4b4) Tb4b4b4}
Tb4b4b4}
Te6edf3onVariantsTb4b4b4(Te6edf3selectorTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3withBuildTypeTb4b4b4(Ta5d6ff"Ta5d6ffreleaseTa5d6ff"Tb4b4b4)Tb4b4b4) Tb4b4b4{ Te6edf3variant Tff7b72-Tff7b72>
Tff7b72if Tb4b4b4(Te6edf3variantTb4b4b4.Te6edf3flavorName Tff7b72=Tff7b72= Ta5d6ff"Ta5d6ffgoogleTa5d6ff"Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3variantNameCapped Tff7b72= Te6edf3variantTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3replaceFirstChar Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3minifyTaskName Tff7b72= Ta5d6ff"Ta5d6ffminifyTffd700${Te6edf3variantNameCappedTffd700}Ta5d6ffWithR8Ta5d6ff"
Tff7b72val Te6edf3uploadTaskName Tff7b72= Ta5d6ff"Ta5d6ffuploadMappingTffd700$Te6edf3variantNameCappedTa5d6ff"
T8b949e// Use tasks.names to check existence without eagerly realizing tasks
Tff7b72if Tb4b4b4(Te6edf3tasksTb4b4b4.Te6edf3namesTb4b4b4.Te6edf3containsTb4b4b4(Te6edf3uploadTaskNameTb4b4b4) Tff7b72&Tff7b72& Te6edf3tasksTb4b4b4.Te6edf3namesTb4b4b4.Te6edf3containsTb4b4b4(Te6edf3minifyTaskNameTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3tasksTb4b4b4.Te6edf3namedTb4b4b4(Te6edf3minifyTaskNameTb4b4b4)Tb4b4b4.Te6edf3configure Tb4b4b4{ Te6edf3finalizedByTb4b4b4(Te6edf3uploadTaskNameTb4b4b4) Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3dependencies Tb4b4b4{
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3bleTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3commonTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3dataTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3databaseTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3datastoreTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3diTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3domainTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3modelTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3navigationTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3lifecycleTb4b4b4.Te6edf3viewmodelTb4b4b4.Te6edf3navigation3Tb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3networkTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3nfcTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3prefsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3protobufsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3serviceTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3resourcesTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3uiTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3barcodeTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3takserverTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3introTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3messagingTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3connectionsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3mapTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3nodeTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3settingsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3discoveryTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3docsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3firmwareTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3wifiProvisionTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3widgetTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3material3Tb4b4b4.Te6edf3adaptiveTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3material3Tb4b4b4.Te6edf3adaptiveTb4b4b4.Te6edf3layoutTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3material3Tb4b4b4.Te6edf3adaptiveTb4b4b4.Te6edf3navigationTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3materialTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3multiplatformTb4b4b4.Te6edf3animationTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3multiplatformTb4b4b4.Te6edf3material3Tb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3multiplatformTb4b4b4.Te6edf3uiTb4b4b4.Te6edf3toolingTb4b4b4.Te6edf3previewTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3multiplatformTb4b4b4.Te6edf3uiTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3glanceTb4b4b4.Te6edf3appwidgetTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3glanceTb4b4b4.Te6edf3appwidgetTb4b4b4.Te6edf3previewTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3glanceTb4b4b4.Te6edf3material3Tb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3lifecycleTb4b4b4.Te6edf3processTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3lifecycleTb4b4b4.Te6edf3viewmodelTb4b4b4.Te6edf3composeTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3lifecycleTb4b4b4.Te6edf3runtimeTb4b4b4.Te6edf3composeTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3jetbrainsTb4b4b4.Te6edf3navigation3Tb4b4b4.Te6edf3uiTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ktorTb4b4b4.Te6edf3clientTb4b4b4.Te6edf3androidTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ktorTb4b4b4.Te6edf3clientTb4b4b4.Te6edf3contentTb4b4b4.Te6edf3negotiationTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ktorTb4b4b4.Te6edf3serializationTb4b4b4.Te6edf3kotlinxTb4b4b4.Te6edf3jsonTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ktorTb4b4b4.Te6edf3clientTb4b4b4.Te6edf3loggingTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3coilTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3coilTb4b4b4.Te6edf3networkTb4b4b4.Te6edf3ktor3Tb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3coilTb4b4b4.Te6edf3svgTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3splashscreenTb4b4b4)
T8b949e// Installs the baseline profile produced by :baselineprofile at app startup (API < 31)
T8b949e// and lets ART honor it on first launch. On API 31+ the platform installs it automatically.
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3profileinstallerTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3kotlinxTb4b4b4.Te6edf3serializationTb4b4b4.Te6edf3jsonTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3usbTb4b4b4.Te6edf3serialTb4b4b4.Te6edf3androidTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3workTb4b4b4.Te6edf3runtimeTb4b4b4.Te6edf3ktxTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3koinTb4b4b4.Te6edf3androidTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3koinTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3viewmodelTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3koinTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3workmanagerTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3koinTb4b4b4.Te6edf3annotationsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3accompanistTb4b4b4.Te6edf3permissionsTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3kermitTb4b4b4)
Te6edf3implementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3kotlinxTb4b4b4.Te6edf3datetimeTb4b4b4)
Te6edf3debugImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3uiTb4b4b4.Te6edf3testTb4b4b4.Te6edf3manifestTb4b4b4)
Te6edf3debugImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3glanceTb4b4b4.Te6edf3previewTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3carTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3servicesTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3playTb4b4b4.Te6edf3servicesTb4b4b4.Te6edf3mapsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3mapsTb4b4b4.Te6edf3composeTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3mapsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3utilsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3mapsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3widgetsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3logsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3rumTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3sessionTb4b4b4.Te6edf3replayTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3sessionTb4b4b4.Te6edf3replayTb4b4b4.Te6edf3materialTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3timberTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3traceTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3ddTb4b4b4.Te6edf3sdkTb4b4b4.Te6edf3androidTb4b4b4.Te6edf3traceTb4b4b4.Te6edf3otelTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3platformTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3firebaseTb4b4b4.Te6edf3bomTb4b4b4)Tb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3firebaseTb4b4b4.Te6edf3analyticsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3firebaseTb4b4b4.Te6edf3crashlyticsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3firebaseTb4b4b4.Te6edf3aiTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3firebaseTb4b4b4.Te6edf3aiTb4b4b4.Te6edf3ondeviceTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3mlkitTb4b4b4.Te6edf3translateTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3appfunctionsTb4b4b4)
Te6edf3googleImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3appfunctionsTb4b4b4.Te6edf3serviceTb4b4b4)
Te6edf3addTb4b4b4(Ta5d6ff"Ta5d6ffkspGoogleTa5d6ff"Tb4b4b4, Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3appfunctionsTb4b4b4.Te6edf3compilerTb4b4b4)
Te6edf3fdroidImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3osmdroidTb4b4b4.Te6edf3androidTb4b4b4)
Te6edf3fdroidImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3osmdroidTb4b4b4.Te6edf3geopackageTb4b4b4) Tb4b4b4{ Te6edf3excludeTb4b4b4(Te6edf3group Tff7b72= Ta5d6ff"Ta5d6ffcom.j256.ormliteTa5d6ff"Tb4b4b4) Tb4b4b4}
Te6edf3fdroidImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3osmbonuspackTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3kotlinTb4b4b4(Ta5d6ff"Ta5d6fftest-junitTa5d6ff"Tb4b4b4)Tb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3workTb4b4b4.Te6edf3testingTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3koinTb4b4b4.Te6edf3testTb4b4b4)
Te6edf3testRuntimeOnlyTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3junitTb4b4b4.Te6edf3vintageTb4b4b4.Te6edf3engineTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3kotlinxTb4b4b4.Te6edf3coroutinesTb4b4b4.Te6edf3testTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3robolectricTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3testTb4b4b4.Te6edf3coreTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3composeTb4b4b4.Te6edf3multiplatformTb4b4b4.Te6edf3uiTb4b4b4.Te6edf3testTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3testTb4b4b4.Te6edf3extTb4b4b4.Te6edf3junitTb4b4b4)
Te6edf3testImplementationTb4b4b4(Te6edf3libsTb4b4b4.Te6edf3androidxTb4b4b4.Te6edf3glanceTb4b4b4.Te6edf3appwidgetTb4b4b4)
T8b949e// JVM variant provides the host-platform native library for BundledSQLiteDriver under Robolectric
Te6edf3testRuntimeOnlyTb4b4b4(Ta5d6ff"Ta5d6ffandroidx.sqlite:sqlite-bundled-jvm:2.6.2Ta5d6ff"Tb4b4b4)
T8b949e// Producer of the baseline profile consumed by the release build. The androidx.baselineprofile
T8b949e// plugin merges the generated rules into src/<variant>/generated/baselineProfiles at build time.
Te6edf3baselineProfileTb4b4b4(Te6edf3projectsTb4b4b4.Te6edf3baselineprofileTb4b4b4)
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.09s